Filtering is a basic operation used to solve many problems in computer vision and signal processing. Filtering can perform a number of important tasks, including noise removal, edge enhancement, derivative estimation, and object detection. Because filtering has so many uses, it plays a roll in many application areas including audio processing, video processing, and higher dimensional signal analysis such as medical tomography or multispectral image processing.
Finding objects in images is an important and challenging computer vision problem. This problem can take many different forms but usually includes determining if an object is present in an image or where in the image an object is located. Object detection tasks can be difficult to solve because the appearance of objects can change substantially due to simple changes in the conditions under which the object is viewed. These include changes in pose, lighting, nonrigid deformation, or natural variations within an objects class. For these reasons, designing and training algorithms that perform these tasks is difficult.
Filtering is frequently used to correlate one signal with another. Correlation is used in both signal and image processing because it is both simple and fast. For object detection, images are correlated with filters which are cropped examples or templates hand selected from training images. Correlation can be used to detect both the presence and location of an object because it provides a similarity score for every pixel in the image. The object is considered “present” where the correlation output exceeds a threshold. The local maximum provides an estimate of the location.
This technique rarely works for challenging detection problems because the templates fail to represent variations in appearance and poorly discriminate in the presence of a complex background. For these reasons, the majority of object detection research has focused on designing more complicated object representations and more robust classification schemes. While these techniques often improve the accuracy, the improved performance comes with a price paid in terms of longer run times and complex up front training protocols.
Accordingly, it would be beneficial to provide new ways to design filters that are much better at discriminating between targets and background. It would also be beneficial to provide an improved filter performance without the need for longer run times and complex up front training protocols.